package Clases;

import java.util.*;

import Vista.SeccionView;

public class Seccion {
       
        private String nombre;
        private String especialidad;
        private int activo;
        private Vector<ProductoSeccion> prodEnStock;
       
       
        //CONTRUCTORES

        public Seccion(String nombre, String especialidad, Vector<ProductoSeccion> prodEnStock) {
                super();
                this.nombre = nombre;
                this.especialidad = especialidad;
                this.prodEnStock = prodEnStock;
                this.activo = 1;
        }
        
        public void imprimir(String miString){
    		System.out.println(miString + this.nombre);
    		System.out.println(miString + "  * Especialidad: " + this.especialidad);
    		System.out.println(miString + "  * Productos en Stock:");
    		for (int i = 0; i < this.prodEnStock.size(); i++){
    			this.prodEnStock.elementAt(i).imprimir(miString + "                       ");
    		}
        }

        //GET & SET
        public String getNombre() {
                return nombre;
        }

        public void setNombre(String nombre) {
                this.nombre = nombre;
        }

        public String getEspecialidad() {
                return especialidad;
        }

        public void setEspecialidad(String especialidad) {
                this.especialidad = especialidad;
        }

        public Vector<ProductoSeccion> getProductosEnStock() {
                return prodEnStock;
        }
        
        public ProductoSeccion getProductoEnStock(int codBarra){
        	for (int i=0; i < this.prodEnStock.size(); i++){
        		if(this.prodEnStock.elementAt(i).getProducto().sosProducto(codBarra)){
        			return this.prodEnStock.elementAt(i);
        		}
        	}
        	return null;
        }
        
        public Vector<String> getNombresProductosEnStock() {
        	Vector<String> nombresProductos = new Vector<String>();
        	for(int i=0; i <= this.prodEnStock.size();i++){
        		nombresProductos.add(this.prodEnStock.get(i).getProducto().getNombre());
        	}
        	return nombresProductos;
        }

        public void setProductoEnStock(ProductoSeccion prodEnStock) {
                this.prodEnStock.add(prodEnStock);
        }
        
        public void setProductosEnStock(Vector<ProductoSeccion> prodEnStock) {
            this.prodEnStock=prodEnStock;
    }

        public int getActivo() {
                return this.activo;
        }

        public void setActivo(int activo) {
                if (activo == 0) {
                    for (int i = 0; i < prodEnStock.size(); i++){
                            prodEnStock.elementAt(i).decrementarStock(prodEnStock.elementAt(i).getStock());
                    }
                }
                this.activo=activo;
        }
       
        //METODOS DE NEGOCIO
       
        public boolean sosSeccion (String descripcion){
                return nombre.equalsIgnoreCase(descripcion);
                }      
       
        public SeccionView getView(){
                //ACTIVO = 1 ES QUE ESTA ACTIVO! 0 PARA LOS INACTIVOS!
                if(this.getActivo() == 1)
                        return new SeccionView(nombre, especialidad, prodEnStock);
                return null;
        }

}